草庐IT

java - 3gp 到 wav 文件 Android

全部标签

go - Golang 中的大文件

我正在处理一个包含数百万个非常小的文件的应用程序,这变得很痛苦。很难转移。所以,我想到了大文件或其他虚拟文件系统,它们可以创建一个大文件,包含我所有的索引数据。在golang中如何处理这个问题?你有什么库可以推荐吗? 最佳答案 也许一个简单的ZIP存档(假设为零压缩)适合您?它有一个内容(文件流)的自然索引,所以当你openitusingarchive/zip,你回来asliceof"fileinfoblocks",每个都“知道”如何定位和读取其相应的文件流。(甚至有一种方法可以获取文件数据的偏移量,并读取它直接——绕过空操作“解压

go - 如何通过命令行删除/bin目录下的二进制文件?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我在$HOME/go/src/hello/中运行命令goinstall二进制文件进入目录$HOME/go/bin,然后运行​​goclean,但不删除二进制文件。如何通过命令行删除/bin目录下的二进制文件?输出goenv:GOARCH="amd64"GOBIN="/home/stavanger/g

go - 将 json 文件传递​​给 GoLang 函数

刚开始使用Go。我有一个如下所示的Go函数,我必须向它传递一个json文件。如何将json文件引用传递给此函数,即接受它作为接口(interface)映射?funccompressOIds(mapDocumentmap[string]interface{})string{varobjectIdValuestringforkey,value:=rangemapDocument{....}return""} 最佳答案 如果您的JSON结构定义不明确并且可以更改,那就是要走的路:import("fmt""encoding/json")fu

go - 我的静态文件没有正确呈现

在我的html页面中,我引用了如下静态Assets:和这些文件存储在:/assets/js/bundle.js/assets/css/style.css目前我的路线是这样的:app.PathPrefix("/static/").Handler(http.StripPrefix("/static/",http.FileServer(http.Dir("/assets"))))目前它不工作,当我查看chrome控制台时返回404未找到错误。我在这里做错了什么? 最佳答案 问题在于您在这一行调用http.Dir("/assets"):ap

go - 为什么使用自定义 log.Logger 记录到文件会失败?

我无法让我的程序从main()之外的函数写入日志文件我确实看到了https://stackoverflow.com/a/19966217/4374801这很相似,但没有解决我的确切问题。以下是我正在做的事情的重要部分:var(Info*log.LoggerError*log.Logger)funcinit(){//setuplogfilefileHandle,err:=os.OpenFile("/var/log/checkcert",os.O_WRONLY|os.O_CREATE|os.O_APPEND,0644)iferr!=nil{log.Fatal(err)}//defertoc

go - Zap 记录器打印到控制台和日志文件

我已将Zap与我的go应用程序集成,我们将日志打印在两个日志文件中,我还使用Lumberjack进行日志轮换。但我也试图在控制台中显示日志,但这种情况下运气不好。以下是我在logger.go中的代码var(Logger*zap.LoggerN2n*zap.Logger)typeWriteSyncerstruct{io.Writer}func(wsWriteSyncer)Sync()error{returnnil}funcInitLogging(modestring){varcfgzap.ConfigvarlogName="abc.log"varslogName="n2n.log"ifm

file - 在 Go 中获取给定文件描述符的文件大小

如果给定一个路径,我会用它来获取文件大小file,_:=os.Open(path)fi,_:=file.Stat()fsuze:=fi.Size()但是如果仅给定fd,我怎样才能得到文件大小呢?在C中有这样的Go方法吗:lseek(fd,0,SEEK_END) 最佳答案 您使用os.NewFile从文件描述符创建一个新的*os.File功能。您可以使用与C中完全相同的方式来执行此操作,使用Seekoffset,err:=f.Seek(0,os.SEEK_END)但是因为您已经有了*os.File,所以您可以调用Stat,即使它是直接

unit-testing - 去单元测试找不到所需的文件

我在go中编写了一个单元测试,同一文件的init方法在项目的根目录中打开了一个文件。我遇到的问题是,当我运行测试时,测试包是不包含所需文件的根目录。如何告诉测试函数查看文件而不在测试文件的目录中创建重复文件?文件结构:main.go|+-helpers|+-data.go|+-data_test.gorequired_file.txt测试命令:gotestgithub.com/testproj/helpersdata.go中的代码:funcinit(){file,err:=os.Open("required_file.txt")iferr!=nil{log.Fatal(err)

go - exec.Command 调用 java cli

如何让exec.Command命令从另一个文件调用命令?funcmain(){fmt.Println("Iniciando...")command:=exec.Command("java-version")command.Dir="."output,err:=command.Output()iferr!=nil{fmt.Println("Erro:",err)}fmt.Printf("%s",output)}错误:exec:“java-version”:在$PATH中找不到可执行文件 最佳答案 每个参数都需要在自己单独的字符串中。试

go - 设置GOCACHE ="on"在/目录下放一堆文件

我有这个测试帮助脚本:#!/usr/bin/envbashexportGOPATH="$PWD"exportGOCACHE="off"if[[-z"$2"]];thengotest-test.v"$1"elsegotest-test.v-run"$1""$2"fi出于无限的好奇,我将其更改为:exportGOCACHE="on"现在我在on/目录中有一堆文件,看起来像:rm'on/f5/f545eea03c3b3918eb9ea8da640e4096bb88e737da8fe79b982282e391034a00-d'rm'on/f5/f5f8e6ba734b39e6e3994bd38